#ifndef _GPTIM_H_
#define _GPTIM_H_

// #include "freertos/FreeRTOS.h"
// #include "freertos/task.h"
// #include "freertos/queue.h"
// #include "driver/gptimer.h"
// #include "esp_log.h"

// 	/* 参数引用 */
// 	typedef struct
// {
// 	uint64_t event_count;
// } gptimer_event_t;

// extern QueueHandle_t queue;

// /* 函数声明 */
// void gptim_int_init(uint16_t counts, uint16_t resolution);														   /* 初始化通用定时器 */
// bool IRAM_ATTR gptimer_callback(gptimer_handle_t timer, const gptimer_alarm_event_data_t *edata, void *user_data); /* 定时器回调函数 */
// void output_gptime_value(void);

#ifndef _BSP_TIMER_H_
#define _BSP_TIEMR_H_

#include "driver/gptimer.h"
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "esp_log.h"
#include "freertos/queue.h"

/**
 * @函数说明        定时器初始化配置
 * @传入参数        resolution_hz=定时器的分辨率  alarm_count=触发警报事件的目标计数值
 * @函数返回        创建的定时器回调队列
 */
QueueHandle_t timerInitConfig(uint32_t resolution_hz, uint64_t alarm_count);

#endif


#endif																											   // _GPTIM_H_